package com.zh.oauth.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.common.entity.ElecMenu;
import com.zh.oauth.entity.ElecAuth;
import com.zh.oauth.entity.ElecRole;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

/**
 * code is far away from bug with the animal protecting
 * ┏┓　　　┏┓
 * ┏┛┻━━━┛┻┓
 * ┃　　　　　　　┃
 * ┃　　　━　　　┃
 * ┃　┳┛　┗┳　┃
 * ┃　　　　　　　┃
 * ┃　　　┻　　　┃
 * ┃　　　　　　　┃
 * ┗━┓　　　┏━┛
 * 　　┃　　　┃神兽保佑
 * 　　┃　　　┃代码无BUG！
 * 　　┃　　　┗━━━┓
 * 　　┃　　　　　　　┣┓
 * 　　┃　　　　　　　┏┛
 * 　　┗┓┓┏━┳┓┏┛
 * 　　　┃┫┫　┃┫┫
 * 　　　┗┻┛　┗┻┛
 *
 * @Description: 权限控制设置业务接口
 * @Author: Li.HuiNeng
 * @Create in: 2019/10/14
 * @Version: 1.0.1
 */
public interface AuthService extends IService<ElecAuth> {

    /**
     * 添加角色信息
     * @param role
     * @return
     */
    int addRole(ElecRole role);

    /**
     * 修改角色信息
     * @param role
     * @return
     */
    int modRole(ElecRole role);

    /**
     * 删除角色信息
     * @param roleId
     * @return
     */
    int delRole(Long roleId);

    /**
     * 添加权限信息
     * @param auth
     * @return
     */
    int addAuth(ElecAuth auth);


    /**
     * 修改权限信息
     * @param auth
     * @return
     */
    int modAuth(ElecAuth auth);

    /**
     * 删除权限节点
     * @param elecAuth
     * @return
     */
    int delAuth(ElecAuth elecAuth);

    /**
     * 添加菜单信息
     * @param elecMenu
     * @return
     */
    int addMenu(ElecMenu elecMenu);

    /**
     * 删除菜单信息
     * @param elecMenu
     * @return
     */
    int delMenu(ElecMenu elecMenu);

    /**
     * 修改菜单
     * @param elecMenu
     * @return
     */
    int modMenu(ElecMenu elecMenu);

    /**
     * 绑定账户关系
     * @param map
     * @return
     */
    void bindRoleAc(TreeMap<String,String> map);



}
